# Maintainer: Daniel M. Capella <polyzen@archlinux.org>
# Contributor: Otreblan <otreblain@gmail.com>

_name=pygls
pkgname=python-pygls
pkgver=1.0.1
pkgrel=3
pkgdesc='Pythonic generic implementation of the Language Server Protocol'
arch=('any')
url=https://github.com/openlawlibrary/pygls
license=('APACHE')
depends=('python-lsprotocol' 'python-typeguard')
makedepends=('python-build' 'python-installer' 'python-setuptools-scm'
             'python-toml' 'python-wheel')
checkdepends=('python-mock' 'python-pytest' 'python-pytest-asyncio')
source=("https://files.pythonhosted.org/packages/source/${_name::1}/$_name/$_name-$pkgver.tar.gz"
        'pygls-typeguard3.patch::https://github.com/openlawlibrary/pygls/pull/327.patch')
sha256sums=('f3ee98ddbb4690eb5c755bc32ba7e129607f14cbd313575f33d0cea443b78cb2'
            'e95fbe7f2f18f2e1499ead927d207b88016df4ae46b5a80d350877dba8507bef')
b2sums=('62089e817214d8ae0b9d2454a0787e18f077183fbcd1dcf538630ec167f1356f3031dff679dd45aeab48a11e545b7c63fa74e1c42fca7fec7c33d51b72efb25f'
        '8f1b326092bb460a13a9de00bda1644725ad0b66a9e0049ed2ab7e88730ed0068455a6f126b685825bfeee82a4229c12557de6a430ca55b73f91498843c5ba4a')

prepare() {
  cd $_name-$pkgver
  patch --forward --strip=1 --input=../pygls-typeguard3.patch || true
  sed -i 's/typeguard>=2.10.0,<3/typeguard>=3,<4/' setup.cfg
}

build() {
  cd $_name-$pkgver
  python -m build --wheel --skip-dependency-check --no-isolation
}

check() {
  cd $_name-$pkgver
  pytest
}

package() {
  cd $_name-$pkgver
  python -m installer --destdir="$pkgdir" dist/*.whl
  rm -r "$pkgdir"/usr/lib/site-packages

  # Symlink license file
  local site_packages=$(python -c "import site; print(site.getsitepackages()[0])")
  install -d "$pkgdir"/usr/share/licenses/$pkgname
  ln -s "$site_packages"/$_name-$pkgver.dist-info/LICENSE.txt \
    "$pkgdir"/usr/share/licenses/$pkgname/LICENSE.txt
}
